package com.ksyun.ks3.model;

import java.util.Map;
import okhttp3.Headers;
import okhttp3.RequestBody;

import com.ksyun.ks3.util.ModelUtil;

public class AsyncHttpRequestParam {
	private String url;
	private Headers headers;
	private String contentType;
	private RequestBody requestBody;
	private Object tag; //
	private long contentLength;

	public AsyncHttpRequestParam() {
	}

	public AsyncHttpRequestParam(String url) {
		this.url = url;
	}

	public AsyncHttpRequestParam(String url, Map<String, String> headers,
								 Map<String, String> params) {
		this.url = url;
		this.headers = ModelUtil.convertHeaderArray(headers);
	}

	public AsyncHttpRequestParam(String url, String contentType,
								 Map<String, String> headers, Map<String, String> params,
								 RequestBody requestBody) {
		this.url = url;
		this.contentType = contentType;
		this.headers = ModelUtil.convertHeaderArray(headers);
		this.requestBody = requestBody;
	}

	public AsyncHttpRequestParam(String url, String contentType,
								 Map<String, String> headers, Map<String, String> params,
								 RequestBody requestBody, Long contentLength) {
		this.url = url;
		this.contentType = contentType;
		this.headers = ModelUtil.convertHeaderArray(headers);
		this.requestBody = requestBody;
		this.contentLength = contentLength;
	}

	public AsyncHttpRequestParam(String url, Map<String, String> headers, Map<String, String> params, long contentLength) {
		this.url = url;
		this.headers = ModelUtil.convertHeaderArray(headers);
		this.contentLength = contentLength;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public Headers getHeaders() {
		return headers;
	}

	public void setHeaders(Headers headers) {
		this.headers = headers;
	}

	public String getContentType() {
		return contentType;
	}

	public void setContentType(String contentType) {
		this.contentType = contentType;
	}

	public RequestBody getRequestBody() {
		return requestBody;
	}

	public void setRequestBody(RequestBody requestBody) {
		this.requestBody = requestBody;
	}

    public Object getTag() {
		return tag;
    }

	public void setTag(String tag) {
		this.tag = tag;
	}

	public long getContentLength() {
		return contentLength;
	}

	public void setContentLength(long contentLength) {
		this.contentLength = contentLength;
	}
}
